////https://www.luogu.com.cn/problem/SP1805
//
//#include<iostream>
//#include<stack>
//using namespace std;
//typedef long long ll;
//const int N = 1e5 + 10;
//ll x[N];
//int lefti[N], righti[N];
//
//void func(int n)
//{
//	for (ll i = 1; i <= n; i++)
//		cin >> x[i];
//
//	stack<ll> s;
//	
//	for (ll i = 1; i <= n; i++)
//	{
//		while (s.size() && x[s.top()] >= x[i]) s.pop();
//		if (s.size()) lefti[i] = s.top();
//		else lefti[i] = 0;
//		s.push(i);
//	}
//	while (s.size()) s.pop();
//	for (ll i = n; i >= 1; i--)
//	{
//		while (s.size() && x[s.top()] >= x[i]) s.pop();
//		if (s.size()) righti[i] = s.top();
//		else righti[i] = n + 1;
//		s.push(i);
//	}
//
//	ll maxi = 0;
//	for (ll i = 1; i <= n; i++)
//	{
//		ll tmp = x[i] * (righti[i] - lefti[i] - 1);
//		maxi = max(maxi, tmp);
//	}
//	cout << maxi << endl;
//}
//
//int main()
//{
//	int n;
//	while (cin >> n, n)
//	{
//		func(n);
//	}
//	return 0;
//}